1. Field of the Invention
The present invention relates generally to the field of computer animation. More particularly, the present invention relates to a system and method for generating computer animated graphical images of an exterior layer of material stretching over an underlying structure.
2. Description of the Prior Art
Generating realistic computer animated images of animal bodies, including human bodies, is a difficult task. Such images are extremely complex due to the fine anatomical details of the animal bodies, and also due to the quick and subtle changes in the images as muscles and other anatomical structures move, flex, and deform under skin. Nevertheless, a continuing goal of computer animators is to achieve ever greater realism in creating computer animated images of animal bodies.
Advances in generating realistic computer animated images of animal bodies have been achieved by developing animation methods that take into account and simulate the physical behavior of the various anatomical structures of the animal bodies. In real animals, the moving anatomical elements cause widespread movements of the overlying skin. Anatomically Based Modeling is discussed in detail in an article of the same name written by Jane Wilhelms and Allen Van Gelder of the University of California, Santa Cruz, and published in Computer Graphics Proceedings, Annual Conference Series, 1997. The reference provides a methodology for skin deformation in response to deformation of underlying anatomical elements. Individual anatomical elements such as bones, muscles, and generalized tissue are modeled as triangle meshes or ellipsoids. Skin overlying the anatomical elements is modeled by a triangle-mesh of skin vertices which is attached to the underlying anatomical elements by anchors.
The anatomically based modeling process described by Wilhelms and Van Gelder includes the steps of: defining springs between associated skin vertexes of the triangle-mesh skin; binding each skin vertex with a closest underlying body component (muscle, bone, or generalized tissue) in accordance with an anchoring method; animating the underlying body causing the underlying body components to be moved; moving the skin vertexes of the triangle-mesh skin based on the movement of the body components and the anchoring, the movement causing corresponding springs to deform and therefore exert restoring forces on the skin vertexes; and resolving the spring forces during a relaxation phase of the process. The springs, which are mathematical functions defining a potential force between the associated vertices as a function of the distance therebetween, provide for achieving a natural elasticity in the skin as it stretches over the animated understructure.
Wilhelms and Van Gelder define an anchor of a particular skin vertex to be the nearest point on its underling component. A virtual anchor, defined as the initial position of a skin vertex relative to its underlying component, is the position of the vertex when the skin is extracted in the animal""s rest position. The anchors and virtual anchors are stored parameterized in the local space of the component. As shape changes occur in the underlying components, the skin vertices are correspondingly affected via the anchors and virtual anchors. Each skin vertex is considered to be connected to its virtual anchor by a spring of rest length zero, and a specified spring stiffness. To anchor the skin to triangle-mesh bones, skin vertices are converted into the coordinate system of the bone and scaled by the size of its bounding box in each dimension.
One problem associated with the anatomically based modeling process described by Wilhelms and Van Gelder is that the layer of skin is modeled using a triangle mesh of vertices as described above. Polygonal models such as a triangle mesh of vertices are useful primarily for representing objects having flat surfaces, but fall short in allowing the degree of flexibility required for representing curved bodies having complex details. By contrast, parametric surfaces afford great flexibility by providing modelers with intuitive control parameters that make manipulating them fairly natural. Many different types of parametric surfaces, or patches, are commonly used by modelers for representing curved surfaces. One type of parametric surface commonly used by modelers is the non-uniform rational B-spline surface (NURBS) patch. A NURBS patch has an associated resolution defined by an associated number of control vertex (CV) points which are arranged in an array and which provide a xe2x80x9ccontrol hullxe2x80x9d of the patch.
In order to achieve greater realism in computer animated images, it is desirable to be able to model an exterior layer of material (e.g., animal skin, human skin, or clothing) using parametric surfaces which provide a high degree of flexibility. Using patches, a modeler of the exterior patch surface may select a resolution for each patch based on the detail of the associated area of the body. As an example, a modeler may want to use a minimal number of exterior CV points to define a large flat region of the body (e.g., the stomach area) in order to conserve the number of CV points for purposes of conserving processing power required to execute the overall animation processes. The goal of the modeler is to maximize the image quality of the exterior patch surface while minimizing the processing power required for animation. Note also that a modeler may need to use a large number of CV points to define a particularly detailed region of the body (e.g., a human or animal face).
It would be desirable to provide an anatomically based modeling process having the advantages of the process described by Wilhelms and Van Gelder, but using a parametric surface model for the exterior skin, wherein the parametric surface is formed by a plurality of patches some of which have different resolutions defined by a different number of CV points. However, a problem arises in defining springs between CV points of adjacent pairs of patches having different resolutions because the lengths of these springs vary, and this variation in spring lengths causes unwanted results during the relaxation phase of the movement process which includes resolving the forces exerted by the springs. More specifically, the defining of springs between CV points of adjacent patches having different resolutions creates problems of cracks, seams, and other undesirable artifacts.
What is needed is a system and method for generating realistic animated graphical images of an exterior layer of material stretching over an animated underlying structure, wherein the exterior layer is modeled by parametric surface patches having varying resolutions, and wherein the exterior layer may have an elastic quality.
It is an object of the present invention to provide a system and method for generating realistic animated graphical images of an exterior layer of material stretching over an animated underlying structure, wherein the exterior layer is modeled by parametric surface patches having varying resolutions, and wherein the exterior layer may have an elastic quality.
Briefly, a presently preferred embodiment of the present invention provides a system and process for generating animated graphical images of an exterior patch surface of an exterior layer of material stretching over an underlying structure. In one embodiment, the underlying structure is an anatomical structure, and the exterior layer is a layer of skin stretching over the anatomical structure. The process includes the steps of: generating and arranging a plurality of underlying patches each being in a rest position to form an underlying patch surface representing an underlying structure disposed in a rest position; and generating and arranging a plurality of exterior patches to form an exterior patch surface superimposed over the underlying structure in the rest position, each of the exterior patches having an associated array of control points. Note that a portion of the exterior patches may have varying resolutions defined by the number of control points in the associated arrays.
The process also includes the steps of: transforming the control points of the exterior patches into a polygonal mesh of vertex points each being coincident with at least one of the control points, at least one pair of the vertex points being associated with a spring defining a potential force therebetween; establishing a binding positional relationship between each of the vertex points and an associated closest one of the underlying patches to the vertex point; animating the underlying structure causing a displacement in the position of at least one of the underlying patches relative to the rest positions of the underlying patches, and resulting in a deformed underlying structure; moving at least a portion of the vertex points based on the associated binding positional relationships and displacements in the positions of the associated closest underlying patches, the moving of the vertex points deforming at least a portion of the springs resulting in spring restoring forces being exerted on associated vertex points; computing and resolving the spring restoring forces to determine a relaxed position for each of the vertex points of the polygonal mesh; and generating a plurality of deformed exterior patches each having an array of control points at least some of which are coincident with relaxed positions of associated ones of the vertex points of the polygonal mesh, the reconstructed exterior patches defining a deformed exterior patch surface superimposed over the deformed underlying structure.
The step of establishing a binding positional relationship between each of the vertex points and the associated closest underlying patch in the rest position further includes: determining a binding point associated with each of the vertex points, each binding point being located at a closest point to the associated vertex point on the surface of the associated closest underlying patch; and determining an anchor point associated with each of the vertex points, each anchor point defining the location of the associated vertex point relative to its associated binding point with the associated closest underlying patch being disposed in the rest position.
In one embodiment, each of the underlying patches is a non-uniform rational B-spline (NURBS) patch having a (u,v) coordinate system defining a u-direction and a v-direction relative to the NURBS patch. In this embodiment, the step of determining an anchor point associated with each of the vertex points further includes: determining a normal vector that is normal to the surface of the associated closest underlying patch at the associated binding point; determining a u-tangent to the surface of the associated closest underlying patch along the u-direction at the associated binding point; determining a v-tangent to the surface of the associated closest underlying patch along the v-direction at the associated binding point, the normal vector, the u-tangent, and the v-tangent defining a reference coordinate system for the associated anchor point; and defining the position of the anchor point relative to the binding point using the reference coordinate system of the associated closest underlying patch. The normal vector is defined in world space which is independent of the coordinate spaces of the patches.
An important advantage of the system and method of the present invention is that it provides for generating high quality graphical images of an exterior layer of material stretching over animated underlying components, wherein the exterior topology is formed by parametric surface patches having varying resolutions. The ability to model the exterior topology using patches having varying resolution allows for minimizing the processing power required to generate a high quality image by maximizing patch resolutions in portions of the exterior layer having highly detailed contours and minimizing patch resolutions in portions of the exterior layer having less detailed contours.
The foregoing and other objects, features, and advantages of the present invention will be apparent from the following detailed description of the preferred embodiment which makes reference to the several figures of the drawing.